﻿var ns, toast, actionsheet,imageBrowser, UIAlbumBrowser, docReader, fileBrowser;
var app = new Vue({
    el: '#app',
    data: {
        form:{
            radioValue:'1',
            tdMoney:'',//惩罚金额
            Reward:'',//惩罚措施
            StaffID:0,
            StaffName:'',
        },
        chooseType: 1,
        show: false,
        showup:false,
        writeCount: 0,//输入的惩罚事项文字数量
        remarkCount:0,//输入惩罚措施文字数量
        examine_writenum: 0,//审批原因字数
        wenjianlist: [],
        imgindex: 0,
        img_count: 0,
        select_imglist: [],
        select_imgindex: 0,
        maxuploadcount: CONFIG.maxuploadcount,
        outTypemsg: [],
        // file: {
        //     ID: 0,
        //     CredentialName: '',
        //     CredentialUrl: '',
        //     TypeName:'',
        // },
        tdRemark:'',//惩罚事项
        VisitType:0,//用印类型ID
        VisitTypeName:'',//用印类型
        Remark:'',//申请说明
        ApprovalUserID: [],//审核人
        SendUserIDs: [],//抄送人
        fileList:[],//文件id
        select_id_list: [],//选中的抄送人员(多选)
        choose_id_list: [],//选中的审批人员(单选)
        fileID: 1,
        
    },
    methods: {
        // 选择惩罚类型
        do_choose_type: function () {
            var that = this;
            that.show = true;
        },
        get_outTypemsg: function () {
            var that = this;
            var options = {};
            options.action = 'getuserstaffsysdefinefield';
            options.Type=11;
            ns.post(options, function (succeed, data, err) {
                if (succeed) {
                    if (data.status) {
                        that.outTypemsg = data.List;
                        that.VisitType = data.List[0].Id;
                        that.VisitTypeName = data.List[0].FieldName;
                    }
                } else {
                    api.toast({
                        msg: err,
                        duration: 2000,
                        location: 'bottom'
                    });
                }
            });
        },
        // 选择惩罚类型
        doSelectRoom: function (item) {
            var that = this;
            that.show = false;
            that.VisitType = item.Id;
            that.VisitTypeName = item.FieldName;
        },
        //惩罚事项限制字数
        writeMsg: function () {
            var that = this;
            var testVal = that.tdRemark.length;
            that.writeCount = testVal;
        },
        //惩罚措施限制字数
        writeRewardMsg: function () {
            var that = this;
            var testVal = that.form.Reward.length;
            that.remarkCount = testVal;
        },
        //审批申请限制字数
        examine_writeMsg: function () {
            var that = this;
            that.examine_writenum = that.Remark.length;
        },
        //上传附件
        do_openUp:function(){
            var that=this;
            that.showup=true;
        },
        //上传图片
        add_picture: function () {
            var that = this;
            that.showup=false;
            ns.confirmPer('camera', function () {
                that.choose_picture_start();
            })
        },
        choose_picture_start: function () {
            var that = this;
            if (that.wenjianlist.length >= that.maxuploadcount) {
                api.toast({
                    msg: '最多支持' + that.maxuploadcount + '张图片',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            UIAlbumBrowser.imagePicker({
                max: that.maxuploadcount - that.wenjianlist.length,
                styles: {
                    bg: '#000000',
                    mark: {
                        position: 'top_right',
                        size: 20
                    },
                    nav: {
                        bg: '#000000',
                        cancelColor: '#fff',
                        cancelSize: 16,
                        nextStepColor: '#7fff00',
                        nextStepSize: 16
                    },
                    thumbnail: { //（可选项）返回的缩略图配置，**建议本图片不要设置过大** 若已有缩略图，则使用已有的缩略图。若要重新生成缩略图，可先调用清除缓存接口api.clearCache()。
                        w: 100, //（可选项）数字类型；返回的缩略图的宽；默认：原图的宽度
                        h: 100 //（可选项）数字类型；返回的缩略图的宽；默认：原图的高度
                    }
                },
                animation: true,
            }, function (ret) {
                if (ret.eventType == 'nextStep') {
                    if (ret.list && ret.list.length > 0) {
                        that.select_imglist = ret.list;
                        that.select_imgindex = 0;
                        that.UIAlbumBrowser_transPath();
                    }
                    UIAlbumBrowser.closePicker();
                }
                if (ret.originalPath && ret.originalPath.length > 0) {

                    var list=[];
                    list.push({
                            url: ret.originalPath,
                        });
                    const params = {
                        action: "uploaduserstaffinfo",
                        Type:5
                    }
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            // that.file.ID = data.file.ID;
                            // that.file.CredentialName = data.file.FileName;
                            // that.file.CredentialUrl = data.file.FullPath;
                            that.wenjianlist.push(data.imgs[0]);
                            // that.file.TypeName= data.file.ContentType;
                        }
                    }, {
                        files: {
                            file: list[0].url
                        }
                    })
                    // that.wenjianlist.push({
                    //     index: that.imgindex,
                    //     url: ret.originalPath,
                    //     thumbPath: ret.originalPath
                    // });
                    
                    that.imgindex++;
                }
            });
            return;
        },
        UIAlbumBrowser_transPath: function () {
            var that = this;
            var item = that.select_imglist[that.select_imgindex];
            UIAlbumBrowser.transPath({
                path: item.path
            }, function (ret, err) {
                if (ret) {
                    that.select_imgindex++;
                    if (that.select_imgindex < that.select_imglist.length) {
                        that.UIAlbumBrowser_transPath();
                    } else {
                        that.select_imgindex = 0;
                    }
                    var list=[];
                    list.push({
                            url: ret.path,
                        });
                    const params = {
                        action: "uploaduserstaffinfo",
                        Type:5
                    }
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            // that.file.ID = data.file.ID;
                            // that.file.CredentialName = data.file.FileName;
                            // that.file.CredentialUrl = data.file.FullPath;
                            that.wenjianlist.push(data.imgs[0]);
                            // that.file.TypeName= data.file.ContentType;
                            // console.log(JSON.stringify(that.wenjianlist));
                        }
                    }, {
                        files: {
                            file: list[0].url
                        }
                    })
                    that.imgindex++;
                }
            });
        },
         //添加视频
         add_vedio: function () {
            var that = this;
            that.showup = false;
            ns.confirmPer('camera', function () {
                that.choose_video_start();
            })
        },
        choose_video_start: function () {
            var that = this;
            UIAlbumBrowser.open({
                max: 9,
                type: "video",
                styles: {
                    bg: '#fff',
                    mark: {
                        icon: '',
                        position: 'bottom_left',
                        size: 20
                    },
                    nav: {
                        bg: 'rgba(0,0,0,0.6)',
                        titleColor: '#fff',
                        titleSize: 18,
                        cancelColor: '#fff',
                        cancelSize: 16,
                        finishColor: '#fff',
                        finishSize: 16
                    }
                },
                rotation: true
            }, function (ret) {
                if (ret) {
                    if (ret.eventType = 'confirm') {
                        if (ret.list && ret.list.length > 0) {
                            that.select_imglist = ret.list;
                            that.select_imgindex = 0;
                            that.UIAlbumBrowser_transPath();
                        }
                    }
                }
            });
        },
        // 播放视频
        open_video: function (item) {
            var that = this;
            var module = api.require('easyVideoPlayer');
            var param = {
                msg: item.FilePath
            };
            api.download({
                url: item.FilePath,
                savePath: 'fs://app/' + item.FileName,
                report: true,
                cache: true,
                allowResume: true
            }, function (ret, err) {
                if (ret.state == 1) {
                    module.playVideo(param);
                }
            })
        },
        //上传文件
        add_wenjian: function () {
            var that = this;
            that.showup=false;
            fileBrowser.open({
                confirm: true
            }, function (ret) {
                fileBrowser.close();
                // alert(JSON.stringify(ret))
                // alert(JSON.stringify(ret && ret.status))
                if (ret) {
                    const url = ret.url || ""
                    var i = url.lastIndexOf('.');
                    var j = url.length;
                    var wenjianName = url.slice(i + 1, j);
                    // alert(JSON.stringify(wenjianName));
                    // that.form.wenjianUrl = url;
                    // alert(JSON.stringify(that.form.wenjianUrl));
                    // that.wenjianlist.push({ id: that.fileID, name: that.form.wenjianName, url: that.form.wenjianUrl });
                    // that.fileID++
                    // alert(JSON.stringify(that.wenjianlist));
                    // 多规格图片上传
                    const params = {
                        action: "uploaduserstaffinfo",
                        Type:5
                    }
                    // alert("url----"+JSON.stringify(url))
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            // that.file.ID = data.imgs[0].ID;
                            // that.file.CredentialName = data.imgs[0].FileName;
                            // that.file.CredentialUrl = data.imgs[0].FilePath;
                            that.wenjianlist.push(data.imgs[0]);
                            // var i = that.file.CredentialName.lastIndexOf('.');
                            // var j = that.file.CredentialName.length;
                            // that.file.TypeName= that.file.CredentialName.slice(i + 1, j);
                            // that.fileList.push(data.imgs[0].ID);
                            // alert(JSON.stringify(that.fileList))
                            
                        }
                    }, {
                        files: {
                            file: [url]
                        }
                    })
                    return;
                }
                return false;
            });
        },
        open_flie: function (item,index) {
            var that = this;
            var i = item.FileName.lastIndexOf('.');
            var j = item.FileName.length;
            var nameType= item.FileName.slice(i + 1, j);
            if(nameType=='png'||nameType=='jpg'||nameType=='tif'||nameType=='gif'){
                that.img_browser(item.FilePath);
            } else if (nameType == 'mp4'||nameType == 'wmv'||nameType == 'rmvb'||nameType == 'avi') {
                that.open_video(item);
            }else{
                that.do_openFile(item);
            }
            
        },
        // do_viewimages: function (activeIndex) {
        //     var that = this;
        //     var imageUrls = [];
        //     var list=[];
        //     list = that.wenjianlist.filter((item) => {
        //         return item.type=='picture'
        //         });
        //     for (var i = 0; i < list.length; i++) {
        //         imageUrls.push(list[i].url);
        //     }
        //     var imageBrowser = api.require('imageBrowser');
        //     imageBrowser.openImages({
        //         showList: false,
        //         activeIndex: activeIndex,
        //         imageUrls: imageUrls
        //     });
        // },
        img_browser: function(imgurl) {
            var that = this;
            var imgurls = [];
            imgurls.push(imgurl);
            imageBrowser.openImages({
                imageUrls: imgurls,
                showList: false,
                activeIndex: 0
            });
        },
        do_openFile:function(item){
            api.download({
                url: item.FilePath,
                savePath: 'fs://app/' + item.FileName,
                report: true,
                cache: true,
                allowResume: true
            }, function (ret, err) {
                if (ret.state == 1) {
                    docReader.open({
                        path: ret.savePath,
                        autorotation: false
                    }, function(ret, err) {
                        if (ret.status) {
                            // alert(JSON.stringify(ret));
                        } else {
                            alert(JSON.stringify(err));
                        }
                    });
                }else{
                    api.toast({
                        msg: '打开失败',
                        duration: 2000,
                        location: 'bottom'
                    });
                }
            })
        },
        //删除文件
        do_delete: function (id) {
            var that=this;
            that.wenjianlist = that.wenjianlist.filter((item) => {
                return item.ID != id
            });
            // var options={};
            // options.ID=id;
            // options.action="delfile"
            // ns.post(options, function (succeed, data, err) {
            //     console.log(JSON.stringify(data));
            //     console.log(JSON.stringify(err));
            //     if(succeed){
            //         if(data.status){
            //             console.log(JSON.stringify(that.wenjianlist));
            //             that.wenjianlist = that.wenjianlist.filter((item) => {
            //                 return item.ID != id
            //             });
            //         }

            //     }else{
            //         api.toast({
            //             msg: err,
            //             duration: 2000,
            //             location: 'bottom'
            //         });
            //     }
            // });
        },
        //提交
        do_save: function () {
            var that = this;
            var SendUserIDs = [];
            if (that.VisitTypeName == "") {
                api.toast({
                    msg: '请选择惩罚类型',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            if (that.form.radioValue==1&&!that.form.tdMoney) {
                api.toast({
                    msg: '请填写惩罚金额',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            if (that.form.Reward=='') {
                api.toast({
                    msg: '请填写惩罚措施',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            if (that.tdRemark=='') {
                api.toast({
                    msg: '请填写惩罚事项',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            if (that.choose_id_list.length <= 0) {
                api.toast({
                    msg: '请选择审批人',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            var PraiseMoneyIF=true;
            if(that.form.radioValue==1){
                PraiseMoneyIF=true;
            }else if(that.form.radioValue==2){
                PraiseMoneyIF=false;
            }
            for (var i = 0; i < that.wenjianlist.length; i++) {
                var item = that.wenjianlist[i].ID;
                that.fileList.push(item);
            }
            for (var i = 0; i < that.choose_id_list.length; i++) {
                var item = that.choose_id_list[i].UserID;
                that.ApprovalUserID.push(item);
            }

            for (var i = 0; i < that.select_id_list.length; i++) {
                var item = that.select_id_list[i].UserID;
                SendUserIDs.push(item);
            }
            that.SendUserIDs = JSON.stringify(SendUserIDs);

            var options={};
            options.UserIDList=JSON.stringify(that.ApprovalUserID);
            options.SendUserIDList=that.SendUserIDs;
            options.Type=5;
            options.StaffID=that.form.StaffID;
            options.AuditRemark=that.Remark;
            options.PraiseMoneyIF=PraiseMoneyIF;
            options.PraiseMoneyCost=that.form.tdMoney;
            options.PraiseTypeId=that.VisitType;
            options.PraiseType=that.VisitTypeName;
            options.Remark=that.tdRemark;
            options.PraiseMeasure=that.form.Reward;//处罚措施

            options.fileList=JSON.stringify(that.fileList);
            options.action='saveandpushaudituserstafftransfer';
            ns.post(options, function (succeed, data, err) {
                if (succeed) {
                    api.toast({
                        msg: '提交成功',
                        duration: 2000,
                        location: 'bottom'
                    });
                    api.sendEvent({
                        name: 'purchase_updata',
                    });
                    api.sendEvent({
                        name:'reloadexaminelist'
                    })
                    setTimeout(() => {
                        api.closeWin();
                    }, 400);

                } else if (err) {
                    api.toast({
                        msg: err,
                        duration: 2000,
                        location: 'bottom'
                    });
                }
            });
        },
        //展开选择的全部人员
        open_more: function (type) {
            var that = this;
            //审批全部
            if (type == 1) {
                ns.openWin('examine_Allperson', '全部审核人员', {
                    list: that.choose_id_list,
                    type: type,
                });
            } else if (type == 0) {
                ns.openWin('examine_Allperson', '全部抄送人员', {
                    list: that.select_id_list,
                    type: type,
                });
            }
        },
        do_choose_yuangong:function(){
            var that = this;
            ns.openWin('chooseperson_frm', '请选择', {
                        source: 'chooseuser',
                        chooseType:'yuangongchengfa'
                });

        },

        //选择人
        choose_persons: function (IsApproval) {
            var that = this;
            that.chooseType = IsApproval;
            // IsApproval==0//抄送
            if (IsApproval == 0) {
                // ns.openWin('chooseperson_frm', '请选择', {
                //     source: 'transfer',
                // });
                ns.openWin('chooseuser_frm', '选择抄送人', {
                    source: 'transfer',
                }); 
            }
            //IsApproval==1//审批
            if (IsApproval == 1) {
                // ns.openWin('chooseperson_frm', '请选择', {
                //     source: 'transfer',
                // });
                ns.openWin('chooseuser_frm', '选择审批人', {
                    source: 'transfer',
                }); 
            }

        },
        //移除抄送人
        guanbi_pic: function (id, IsApproval) {
            var that = this;
            that.chooseType = IsApproval;
            if (that.chooseType == 1) {
                that.choose_id_list = that.choose_id_list.filter((item) => {
                    return item.UserID != id
                });
            }
            if (that.chooseType == 0) {
                that.select_id_list = that.select_id_list.filter((item) => {
                    return item.UserID != id
                });
            }

        },
        // 抄送人
        select_person: function (select_list, type) {
            var that = this;
            if (type == 0) {
                for (var i = 0; i < select_list.length; i++) {
                    var item = select_list[i];
                    that.select_id_list.push(item);
                }
            } else {
                for (var i = 0; i < select_list.length; i++) {
                    var item = select_list[i];
                    that.choose_id_list.push(item);
                }
            }

            let obj = {};
            if (type == 0) {
                let peon = that.select_id_list.reduce((cur, next) => {
                    obj[next.UserID] ? "" : obj[next.UserID] = true && cur.push(next);
                    return cur;
                }, []);
                that.select_id_list = peon;
            } else {
                let peon = that.choose_id_list.reduce((cur, next) => {
                    obj[next.UserID] ? "" : obj[next.UserID] = true && cur.push(next);
                    return cur;
                }, []);
                that.choose_id_list = peon;
            }

        }


    }
});

apiready = function () {
    api.parseTapmode();
    ns = window.Foresight.Util;
    toast = new auiToast();
    actionsheet = new auiActionsheet();
    imageBrowser = api.require('imageBrowser');
    fileBrowser = api.require('fileBrowser');
    docReader = api.require('docReader');
    app.form.StaffID = api.pageParam.StaffID;
    app.form.StaffName = api.pageParam.StaffName;
    UIAlbumBrowser = api.require('UIAlbumBrowser');
    app.form.StaffID = api.pageParam.StaffID;
    // bmLocation = api.require('bmLocation');
    app.get_outTypemsg();
    api.addEventListener({
        name: 'purchase_add'
    }, function (ret) {
        if (app.chooseType == 1) {
            var chooselist = ret.value.data;
            app.select_person(chooselist, 1);
            // app.choose_id_list=ret.value.data;
        }
        if (app.chooseType == 0) {

            var select_list = ret.value.data;
            app.select_person(select_list, 0);
        }

    })
    api.addEventListener({
        name: 'punishment_add'
    }, function (ret) {
            // app.choose_id_list=ret.value.data;
            // console.log(JSON.stringify(ret.value.data[0]));
            app.form.StaffID=ret.value.data[0].UserID;
            app.form.StaffName=ret.value.data[0].StaffName;

    })

    api.addEventListener({
        name: 'purchase_update'
    }, function (ret) {
        if (ret.value.type == 1) {
            app.choose_id_list = ret.value.data;
        }
        if (ret.value.type == 0) {
            app.select_id_list = ret.value.data;
        }

    })

    api.addEventListener({
        name: 'do_open_neibubaoshi'
    }, function (ret, err) {
        ns.openWin('purchase_list', '申请记录');
    });

};
